/********************************************************************************
实现课件展示功能及相关功能
 *******************************************************************************/
var G_CoursewareID;//课件ID
var G_CoursewareName;//课件名字
$(document).ready(function(){
    initCoursewarePlayer();

});
function initCoursewarePlayer(){
    var coursewareID = getQueryString("coursewareID",true);
    G_CoursewareID=coursewareID;
    G_CoursewareName=getQueryString('coursewareName',true);
    G_Prg.$('videoname').innerHTML='<b>'+getQueryString("coursewareName",true)+'</b>';
    //课件展示
    $('#pdf').show(function(){
        var myPDF = new PDFObject({ url: location.origin+'/student/courseware/view?coursewareID='+coursewareID}).embed();
    });
    setClickEvent();
    isAcrobatPluginInstall();
}

/********************************************************************************
 函数名：setClickEvent
 功能：指定点击事件
 输入参数: 无
 返回值：无
 创建信息：卢映恒(2015-10-13）
 修改记录：无
 审查人：无
 *******************************************************************************/
function setClickEvent() {
    //点击返回，返回上一级页面
    $("#returncourseware").click(function () {
        //window.history.go(-1);
        //var knowledgePointID= G_Prg.getCookie('knowledgePointID');
        var knowledgePointID = G_Prg.getCookie('secondKnowLedgeID');//二级知识点
        window.location.href='courseWare.html?knowledgePointID='+knowledgePointID;
    });
    //点击帮助
    $(document).on('click', '#help', function () {
        var coursewareID=G_CoursewareID;
        var coursewareName=G_CoursewareName;
        location.href='QA5.html?coursewareID='+coursewareID+'&coursewareName='+coursewareName;
    });
    //点击下载，下载当前课件
    $('#downLoad').click(function () {
        var coursewareID = getQueryString("coursewareID",true);
        var url = location.origin + '/student/courseware/download?coursewareID=' + coursewareID;
        window.open(url);
    });
    //点击全屏，全屏展示课件
    $('#screenFull').click(function () {
        var coursewareID = getQueryString("coursewareID",true);
        var url = location.origin + '/student/courseware/view?coursewareID=' + coursewareID;
        window.open(url);
    });
    //点击讨论
    $(document).on('click','#discussBtn',function(){
        $('#discussBtn').addClass('rightLiActive');
        $('#notesBtn').removeClass('rightLiActive');
        G_Prg.$('discussDiv').style.display='block';
        G_Prg.$('notesDiv').style.display='none';
    });
    //点击笔记
    $(document).on('click','#notesBtn',function(){
        $('#discussBtn').removeClass('rightLiActive');
        $('#notesBtn').addClass('rightLiActive');
        G_Prg.$('discussDiv').style.display='none';
        G_Prg.$('notesDiv').style.display='block';;
        initNoteDetail();
    });
    //点击添加笔记
    $(document).on('click','#addNote',function(){
        addNote();
    });
    //点击删除笔记
    $(document).on('click','.deleteNote',function(){
       var noteID=$(this).parent().parent().find('.noteID').html();
        G_Popup.confirm('提示','确定删除当前笔记吗？','确定','取消',function(){
            deleteNote(noteID);
        });
    });
}
/********************************************************************************
 函数名：initNoteDetail
 功能：初始化笔记内容
 输入参数: 无
 返回值：无
 创建信息：卢映恒(2015-12-03)
 修改记录：无
 审查人：无
 *******************************************************************************/
function initNoteDetail(){
    var _success=function(json){
        var jsonData=JSON.parse(json);
        if(jsonData.status===200){
            var listData=jsonData.data.list;
            var total=jsonData.data.total;
            $('#noteContent').empty();
            for(var i=0;i<listData.length;i++){
                var noteData=listData[i];
                $('#noteContentTmpl').tmpl(noteData).appendTo('#noteContent');
            }
        }
    };
    var URL = '/student/userNote/list?coursewareID='+G_CoursewareID;
    G_AjaxApi.get(URL ,false, _success);

}
/********************************************************************************
 函数名：addNote
 功能：添加笔记数据
 输入参数: 无
 返回值：无
 创建信息：卢映恒(2015-12-03)
 修改记录：无
 审查人：无
 *******************************************************************************/
function addNote(){
    var noteContent=G_Prg.$('notesText').value;
    var noteLength=noteContent.length;
    if(noteContent&&(noteLength>300)){
        G_Popup.alert('提示','笔记字数限制300以内。');
        return;
    }

    if(!noteContent){
        G_Popup.alert('提示','请输入笔记内容。');
        return;
    }
    var _success = function (json) {
        var jsonData = JSON.parse(json);
        if (jsonData.status === 200) {
            G_Prg.$('notesText').value='';
            initNoteDetail();
            closeDialog();
        }else {
            G_Popup.alert('提示',"" + jsonData.msg +"!");
        }
    }
    var URL = '/student/userNote/save';
    var params={
        noteContent :noteContent ,
        coursewareID:G_CoursewareID
    };
    G_AjaxApi.post(URL ,params,false, _success);
}
/********************************************************************************
 函数名：deleteNote
 功能：删除笔记
 输入参数: 无
 返回值：无
 创建信息：卢映恒(2015-12-03)
 修改记录：无
 审查人：无
 *******************************************************************************/
function deleteNote(noteID){
    var noteID=noteID;
    var _success = function (json) {
        var jsonData = JSON.parse(json);
        if (jsonData.status === 200) {
            initNoteDetail();
            closeDialog();
        }else {
            G_Popup.alert('提示',"" + jsonData.msg +"!");
        }
    }
    var URL = '/student/userNote/delete';
    var params={
        userNoteID :noteID
    };
    G_AjaxApi.post(URL ,params,false, _success);
}

/********************************************************************************
 函数名：getQueryString
 功能：获取url参数
 输入参数: name获取参数名称，iframe为true 则获取当前iframe内的url内的参数
 返回值：无
 创建信息：姜勇军(2015-09-10)
 修改记录：无
 审查人：无
 *******************************************************************************/
function getQueryString(name,iframe) { //name 参数 return 对应参数的值
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var frame=iframe;
    if(frame){
        var rechargeString= window.location.search.substr(1).match(reg);
    }else{
        var rechargeString= window.parent.location.search.substr(1).match(reg);
    }
    if (rechargeString != null){
        return decodeURI(rechargeString[2]);
        return null;
    }
}
/********************************************************************************
 函数名：closeDialog
 功能：关闭对话框
 输入参数:无
 返回值：无
 创建信息：姜勇军（2015-09-08）
 审查人：无
 *******************************************************************************/
function closeDialog() {
    $(".close").click();
}
/********************************************************************************
 函数名：isAcrobatPluginInstall
 功能：检查客户端是否安装pdf阅读器软件
 输入参数:无
 返回值：无
 创建信息：卢映恒(2015-10-13)
 修改记录：无
 审查人：无
 *******************************************************************************/
function isAcrobatPluginInstall() {
    var flag = false;
// 如果是firefox浏览器
    if (navigator.plugins && navigator.plugins.length) {
        for (x = 0; x < navigator.plugins.length; x++) {

            if (navigator.plugins[x].name == 'Adobe Acrobat')
                flag = true;
        }
    } else if (window.ActiveXObject)
    {// 下面代码都是处理IE浏览器的情况
        for (x = 2; x < 10; x++) {
            try {
                oAcro = eval("new ActiveXObject('PDF.PdfCtrl." + x + "');");
                if (oAcro) {
                    flag = true;
                 }
            } catch (e) {
                flag = false;
            }
        }
        try {
            oAcro4 = new ActiveXObject('PDF.PdfCtrl.1');
            if (oAcro4)
                flag = true;
        } catch (e) {
            flag = false;
        }
        try {
            oAcro7 = new ActiveXObject('AcroPDF.PDF.1');
            if (oAcro7)
                flag = true;
        } catch (e) {
            flag = false;
        }
    }
    if (flag) {
        return true;

    } else {
        var isChrome = window.navigator.userAgent.indexOf("Chrome") !== -1;
        if(isChrome===true){
            return;
        }
        G_Popup.alert('提示',"您尚未安装Adobe Reader pdf阅读器，为能正常阅读课件，请安装。");
        return
    }
    return flag;
}
